1. Field of the Invention
The present invention relates to a data access device and method, more particularly to a data access device and method for a communication system.
2. Description of the Related Art
In a conventional network communication system, a host transmits data in a main memory thereof to a network through a network interface controller (NIC). Since the NIC must temporarily store the data from the host before transmitting the same to the network, the NIC includes a transmit buffer.
The conventional NIC divides the transmit buffer included therein into one or a plurality of pages, and each page stores a network frame packet downloaded from the main memory of the host. When the transmit buffer includes a single page, the page stores all downloaded packet data, and a packet is transmitted to the network only after the packet has been fully stored in the page. Hence, good throughput is not realized through such a technique. When the transmit buffer includes two pages, one of the pages is used to store downloaded data, and a packet already stored in the other page is transmitted. Although throughput is increased when more than one page is used in this manner, the buffer must have a larger storage space when such a configuration is used.
Regardless of whether the transmit buffer is configured to include a single or multiple pages, transmission of a packet to the network is not initiated until after the packet has been completely downloaded. This is due to the fact that the network transmission process is a continuous operation. Hence, if transmission of a packet is started before the NIC has completely downloaded the packet, when the network transmission data rate is higher than the rate at which the NIC downloads data from the host, the storage data of the transmit buffer may be read empty, such that the transmission process is interrupted.
U.S. Pat. No. 5,434,872 discloses a method that provides for the early initiation of data transmission in a network interface. Alternative techniques are needed that allow for the transmission of data without first waiting until a packet is completely downloaded.